home *** CD-ROM | disk | FTP | other *** search
-
- This version of wacker is now fully functional i.e All the texture
- manipulation and full dragNdrop interface is implemented including
- modification of existing textures as well as building new ones.
-
-
- ---------------------------------------------------------------------
-
- DISCLAIMER (Just for my protection)
-
- The is a BETA test version of the WACKER program. When you execute
- this program you do so at your own risk. I take no repsonsiblity for
- any damage caused and make no claims as to the functionality of the
- program.
-
- Please dont be frightened by the above sentence. It it just to cover
- me in case anything should go wrong. WACKER does crash occasionaly,
- but it has NEVER done any serious damage to any of the machines it
- has been tested on.
-
- Note:
-
- As far as I am aware WACKER is the first publicly available program
- that will allow you to create your own textures for DooM and then
- save them out with a PNAMES,TEXTURE1 and TEXTURE2.
-
- This is the last beta version, the next release (unless a major quick
- bugfix is required) will be version 1.0 and will be a bugfix plus
- addition of an external config file to allow you to place wacker
- where you like.
-
- Regards
-
- Keith Wilkins
-
-
- I can be contacted via email at the addresses below:
-
- spike@nectech-uk.com OR spike@nectech.demon.co.uk
-
- ---------------------------------------------------------------------
-
- Thanks to:
-
- Lee Witek - For pre-alpha testing an lots of handy ideas about the
- user interface, and the coke machine.
- Jean Serge Gagnon - Alpha testing and suggestions for improvement
-
- ---------------------------------------------------------------------
-
-
- Version Control
- ---------------
-
- Beta7 28/07/94 * Bug fix to fTextureDragNDrop & fPictureDragNDrop
- due to some mouse drivers returning a modulo 2
- mouse position on the X axis after the upper
- limit was modified for 640 resolution.
- * New code for barry@infant2. Semi automated
- texture creation. Try the new LTB command.
- * Patch loading modified so that if your patches
- are referneced by TEXTURE1 or TEXTURE2 they need
- not be placed between P_START & P_END markers
-
- Beta6 26/07/94 * Modifications to dox.txt after feedback from Joe
- Pulic:
- New sections on making/modifying textures
- Notes on how to overcome the Deu problem
- Explanation of examples
- * New code to allow modification of textures and
- deletion of patches by pickup and drop.
- * Code added to allow patches to be pushed to the
- back or pulled to the front of a texture.
-
- Beta5 22/07/94 * Serious bug fixed which stoped any level data being
- saved
- * Code added to allow saving of NEW textures and
- creation of new textures.
-
- Beta4 15/07/94 * Button text added
- * DragNDrop partially implemented
- * Some minor bugs fixed
- * Finally squashed the obscure save bitmap bug that
- was giving real problems on bitmaps where the width
- wasnt a multiple of 4, bloody windows!!!
-
- Beta3 09/07/94 * Bug fix to cure save BMP error, it seems a line
- of code got deleted between Alpha3 & Beta1/2 that
- setup in internal pointer in fBMPSave().
- * Fix of load object bug memory being accidently freed
- by the gallery display function.
- * Button regions added for texture & picture galleries
- but no internal graphics yet.
-
- Beta2 07/07/94 * Loads of new functionality.
- * Bug fixed in the gallery that was causing GPF
- under windows on some systems.
- * Improved documentation.
-
- Alpha3 24/06/94 * First limited alpha test of basic functionality
-
-
-
- ---------------------------------------------------------------------
-
-
- Known bugs
- ----------
-
- Copy (replace) - Copy doesn't work if you are replacing a LEVEL
- in the destination. Delete then copy to ensure
- correct copying. There is no problem if the
- copy creates a new object, it is only replace
- that has the bug.
-
- Move - Moving a level may screw up a wad file. Dont
- move the level using move. You should not need
- to do this anyways.
-
- Slow initialisation - After doing some speedups its still slow,
- escpecially after adding sprite & graphics
- support. Pallette setting takes a rather long
- time and I cant figure why ??
-
- Occasional NULL - I squash these whenever I encounter one but
- pointer error I'm sure there must still be some somewhere.
-
- ---------------------------------------------------------------------
-
- Future Additions/Features
- -------------------------
-
- High Priority
- *************
- WACKER.INI configuration file
- Free up more memory
- Use of extended memory to store loaded objects
-
-
- Low Priority
- ************
- GIF Load/Save
- LIG <handle> <patch> <filename> - Load an image patch from a GIF file
- SIG <patch> <filename> - Save a image patch from a GIF file
-
-
-
-
- ---------------------------------------------------------------------
-
-
-
- Getting Started
- ***************
-
- Place all the files in the directory containing Doom.wad. You can place
- it anywhere in your path if you dont want the executable in your doom
- directory but the OEM08.FON file must be in with the directory you
- are executing from. Sorry, this will be fixed ay V1.0 by an external
- config file specifiying paths and files.
-
- Type WACKER to run the program. The screen goes black for about 3-5
- seconds at the start before the loading meassage appears. It takes about
- 20-30 seconds to initilise depending on the machine (sorry, but there is
- a mass of data to load & check for consistency).
-
- WACKER will only run in 640x480x256 SVGA mode. If you don't have SVGA
- then use a VESA emulator such as UNIVESA.
-
- It has been tested without problems on the following configs:
-
- Clone 486DX2-66 16MB RAM Diamond VIPER VLB grapics card
- Clone 486DX40 16MB RAM GENOA VLB card with Cirrus chipset
- NEC Versa-50 laptop 4MB RAM
-
- WACKER works under windows (if you must). I have been told that it now
- works O.K under OS/2. The only problem I've come across under windows
- is on the Diamond VIPER machine, using crtl-esc to task switch will
- completely lock the machine. On the Versa the screen corrupts on return
- to wacker but it still functions O.K. The moral of this story is don't
- bother with windows.
-
- The more free memory the better. Running from a RAM disk can speed thing
- up quite considerably, that is if you have the odd spare meg or 12.
-
- WACKER is written in C using Microsoft Visual C (prof) and is
- compiled using the huge memory model, after the major work is
- done I plan to port it to a 32bit flat model program using DJPP.
-
-
- BATCH FILES
- ***********
-
- WACKER now supports external batch files and an argument to speedup
- that initialisation process. The batch files must be ordinary
- text files with 1 command+args per line. To run a batch file type:
-
- WACKER [filename]
-
- Its not too pretty at the moment but what the hell, it works, or at
- least I think it does !!
-
-
- To stop WACKER building the galleries then start WACKER with the
-
- -NOGALLERIES option
-
- and it will start up faster but you wont have any pretty pictures to
- look at.
-
-
-
- WACKER MANUAL
- *************
-
- The main wacker screen will apprear after intialistation.
-
-
- ------------ --------------
- | | | |
- | | | |
- | TEXTURE | | PICTURE |
- | WINDOW | | WINDOW |
- | | | |
- | | | |
- | | | |
- | | | |
- ------------ -------------
-
- ------------------------------
- | |
- | COMMAND WINDOW |
- | |
- ------------------------------
-
- Click the mouse within a window to activate it, or use the keyboard:
-
- C = Command Window
- T = Texture Gallery
- P = Picture Gallery
-
- When you wish to exit WACKER press ALT_X or type BYE in the command
- window.
-
-
- How WADS are handled
- --------------------
-
- You can load many different PWADS into WACKER, each PWAD you load
- must be given a HANDLE which can be up to 8 characters in length. The
- purpose of the HANDLE is to allow you to reference a wad file by a short
- name rather than a long path+file name. All PWADs are held separately and
- do not patch each other. The exception to this is the texture and picture
- resources, if a PWAD contains new pictures or textures these will replace
- textures in the main picture & texture galleries.
-
- A picture is defined as any object within a WAD file that is in the
- doom picture format. These can be PATCHES, SPRITES or GRAPHICS, where
- GRAPHICS refers to the DOOM help screens & player faces, status bar
- etc. Pictures can be detected in a PWAD but they must be in the following
- formats OR have a name identical to a gallery patch/sprite/graphic:
-
- PATCHES Enclosed between P_START & P_END entries
- SPRITES Enclosed between S_START & S_END entries
- GRAPHICS New objects are not allowed but any name conforming to the
- naming conventions of the main DOOM.WAD will be picked up
- and loaded as a graphic replacing the current object
-
- Any operation involving a PWAD or IWAD requires the use of the handle
- to identify which wad you wish to operate upon. The main DOOM IWAD
- file is always called "DOOM" and the handles "PATCHES", "TEXTURES",
- "SPRITES" and "FLOORS" are all reserved, do not attempt to load a new
- PWAD with these handle names otherwise you will not be able to access
- the loaded PWAD.
-
- EXAMPLE - Load a level, and modify a patch and save the new PWAD
-
- LDW E1M1 d:\games\doom\mylevel\e1m1.wad
- (Load a Wad file with handle E1M1 from file d:\games\doom...)
- LPB E1M1 DOOR2_9 d:\games\doom\mylevel\newdoor.bmp
- (Load a Picture in BMP format into wad E1M1 called DOOR2_9)
- (from a file called d:\games\doom\mylevel\newdoor.bmp)
- SDW E1M1 d:\games\doom\mylevel\newgrp.wad
- (Save a Wad file using the internal Wad handle E1M1 to a file)
- (called d:\games\doom\mylevel\newgrp.wad)
-
- After the LWB command is executed the new DOOR2_9 patch will appear
- in the patch window.
-
-
- EXAMPLE - Load a level and copy graphics & level from another PWAD
-
- LDW TESTLEV mylevel.wad
- (Load a Wad file with handle TEXTLEV from file d:\games\doom...)
- LDW DONOR donorlvl.wad
- (Load a Wad file with handle DONOR from file d:\games\doom...)
- COPY AG128_1 TESTLEV
- (Copy patch AG128_1 to the wad called TESTLEV. Note that we)
- (dont need to say where AG128_1 comes from as wacker knows)
- (that we must be talking about the AG128_1 in the patch gallery)
- COPY DONOR E1M1 TESTLEV
- (Copy from DONOR the E1M1 object to the wad called TESTLEV)
- COPY DONOR BCRATEM1 TESTLEV DOOR2_4
- (Copy from DONOR the BCRATEM1 object to the wad called TESTLEV)
- (and rename it to DOOR2_4, this will also change the patch)
- (gallery entry DOOR2_4 to be the same as BCRATEM1)
- SDW TESTLEV newlevel.wad
- (Finally save out our modified wad TESTLEV to a file called)
- (newlevel.wad)
-
-
-
- ---------------------------------------------------------------------
-
-
- Picture Gallery
- ---------------
-
- The picture gallery holds three picture lists: PATCHES, SPRITES & GRAPHICS
- the same command set applies to all picture lists. i.e You can use any
- graphic for inclusion in a texture. The following keys will swap
- between lists at any time:
-
- F5 - Patch list
- F6 - Sprite list
- F7 - Graphics list
-
- Once in a particular list the following commands apply:
-
- I - Give information about the displayed picture
- F - Find a picture name /* Not Implemented */
- HOME - Display last picture in the selected gallery
- END - Display first picture in the selected gallery
- PAGE UP - Jump down the selected picture list
- PAGE DOWN - Jump up the selected picture list
- UP/LEFT CURSOR - Move to the next picture in the selected list
- DOWN/RIGHT CURSOR - Move to the next picture in the selected list
-
- All of the above functions are accessable via the mouse interface, by
- clicking on the buttons under the mouse window. To dismiss the info
- window press any mouse button.
-
- You can pick up patches/sprites & graphics in this version and drop
- them onto the texture window. See the texture gallery description
- for details on how to build and maipulate textures.
-
- To pick up a picture, first position the cursor over the picture and
- then press and hold the left mouse button. You can then drag your
- picture around the screen. If you dont wish to do anything with it
- then release the mouse button making sure that the picture is NOT
- positioned over the texture, wacker will assume that if you drop
- a patch on any area other then a textures then you wanted to discard
- it. If you wish your patch to be added to the texture then position it
- where you want it to be placed and then release the mouse button and
- it will then be added to the texture. Fine positioning of the patch
- can be achieved using the cursor keys whilst the mouse button is
- kept pressed.
-
-
-
- Texture Gallery
- -------------
-
- I - Give information about the displayed texture
- While in this mode LEFT,RIGHT ARROW move UP/DOWN the
- list of patch descriptors that make the texture. Pressing
- the return key will cause the Patch Gallery to display
- the patch for that descriptor. Press ESC to exit.
- For mouse based operation:
- Left button = Previous patch entry
- Right button = Next patch entry
- Centre button = Display patch in patch gallery
- Left+Right = Close window
-
-
- S - Step throught the drawing of a patch, each time you press
- the 's' key then next patch.
-
- F - Find a patch name /* Not implemented in this vesion */
- HOME - Display last patch
- END - Display first patch
- PAGE UP - Jump down the patch list
- PAGE DOWN - Jump up the patch list
- UP/LEFT CURSOR - Move to the next patch in the alphabetical list
- DOWN/RIGHT CURSOR - Move to the next patch in the alphabetical list
-
- Again as with the picture gallery all the above functions are available via
- the button bar.
-
-
- Making NEW textures
- -------------------
-
- Completely new textures can also be created using the CREATE command
- from the command window:
-
- CREATE TEXTURE <name> <width> <height>
-
- for example
-
- CREATE TEXTURE STARTAN4 128 128
-
- will make a new texture called startan4 which is 128x128. The texture
- gallery will then display a blank box for you to build your texture in.
- When textures are drawn to the screen a white box is first drawn to show
- the bounding area of the texture. On some textures this may still be
- partially visible. It is not saved as part of the texture.
-
- NOTE - Texture widths MUST be a binary power of 2 i.e
- 2,4,8,16,32,64,128,256. This is a limitation of the DooM engine.
- If you ignore this advice then your textures wont draw properly.
-
- You can then use the drag and drop method to build your textures as
- described in the picture gallery section.
-
- See below for details on how to change the drawing priority of a patch
- unsing the FRONT/BACK buttons.
-
-
- Modifiying existing textures
- ----------------------------
-
- To move a patch within a texture you first position the cursor over the
- patch you wish to move and then press and hold the left mouse button
- to drag it around. If you wish to delete the patch then just move it
- out of the patch window and drop it. When you have re-positioned your
- patch release the mouse button to drop it. As with the patch drag and
- drop the cursor keys may be used adjust the position accurately.
-
- If patches are covered or it is awkward to see where one patch starts and
- another ends you can use the STEP button to make things easier as you
- can only pickup those patches that are visible.
-
- If you wish to alter the way in which a texture is drawn i.e move a patch
- to the back or the front then use the front/back buttons. Click on FRONT
- or BACK then click on the patch you wish to move. If you wish to cancel
- the order then click on a part of the screen outside the texture. Wacker
- will take the very next mouse click after selecting FRONT/BACK as being
- the front/back opertation. Once you have clicked on FRONT or BACK then
- ALL other operations are suspended until you have clicked on an area of
- the screen.
-
- When textures are drawn to the screen a white box is first drawn to show
- the bounding area of the texture. On some textures this may still be
- partially visible. It is not saved as part of the texture.
-
- Handy Tip:
-
- Its hard on some textures to see where one patch starts and another ends
- so put the STEP button to good use. You can only modify the patches that
- you can see in the texture window. If you have a patch stuck at the back
- that you want to the front you can either BACK all the other patches OR
- press STEP until your patch appears then click FRONT and your patch and
- the texture will then be re-drawn with the patch at the front.
-
-
- Saving out your new textures
- ----------------------------
-
- Once you have modified the textures and wish to save out your new or
- modified textures you must make sure that the PNAMES object is present
- in the WAD as this will trigger WACKER to create PNAMES,TEXTURE1 and
- TEXTURE2 in your PWAD, you can do this with :
-
- CREATE <yourwad> PNAMES
- SDW <yourwad> <somefile.wad>
-
- IMPORTANT- If you have modified patches you must make sure these have
- been copied to the PWAD as well so all required data is saved. In later
- WACKER versions this will be done automagically. Ideally your patches
- should be contained with P_START & P_END markers but wacker beta7 and
- upwards will not complain if they are not.
-
- BUT BUT BUT
- -----------
-
- The above is ONLY true IF the patches are used in TEXTURE1 or TEXTURE2.
- So if you have a group of patches that are NOT used in textures and
- are not bracketed by P_START & P_END then they will NOT be recognised
- as patches. So it is STILL ADVISABLE to enclose your patches within
- P_START & P_END.
-
- How to enclose with P_START & P_END
- -----------------------------------
- For Wacker to recognise patches when loading a PWAD they must
- be enclosed in P_START P_END markers
-
- CREATE mygfx
- CREATE mygfx p_start
- CREATE mygfx p_end
-
- LPB myfgx coke01 front.bmp
- LPB mygfx coke02 back.bmp
- LPB mygfx coke03 side.bmp
- MOVE mygfx p_end coke03
-
- The move command makes sure that the patches are within the markers
- as when you load a new patch it is always tagged onto the end of a
- WAD.
-
- IMPORTANT2 - If you wish to load your new textures into Deu as a PWAD
- you must do the following to overcome a feature in Deu that causes it
- to Barf on texture pwads. When Deu loads textures & gfx from an external
- PWAD it reads an entire 64K chunk rather then only the data is requires.
- This means it will often try to read past the end of the file and hence
- Barrrrf. All you need to do is make sure that there is a least 64K of
- data after your patches. You can do this in the following way:
-
- Load a raw object onto the end of your PWAD using the LOR command
- this object can be absolutly anything you like. Give it a name that
- doesn't occur in the doom IWAD such as CALVIN or HOBBES. Just make
- sure it is around the 64K mark.
-
-
- ---------------------------------------------------------------------
-
-
- Command Window
- --------------
-
- This window is the command line interface to wacker, the following
- commands are currently supported:
-
- BATCH - Redirect command window input from batch file
- COPY - Copy object from pwad->pwad
- CREATE - Create a new WAD,ENTRY or TEXTURE
- DEL - Delete objects
- DISP - Force patch/texture window to display object
- FILE - Enable/Disable command line logging to a file
- HELP - Display command list
- LDW - Load a PWAD/IWAD into memory
- LIST - List details of pwad/patch/texture
- LOB - Load/patch a WAD object from windows BMP file
- LOR - Load/patch a WAD object from RAW format file
- LPB - Load a picture from a windows BMP file
- LPR - Load a picture from a raw binary file
- LTB - Load a Texture from a BMP file (creates a patch)
- MOVE - Move an object within a WAD
- MCOPY - Multiple copy from WAD to WAD or gallery
- SDW - Save a PWAD/IWAD to disk
- SOB - Save a picture format object to a windows BMP file
- SOR - Save an WAD object to a raw binary file
- SPB - Save a picture to a windows BMP file
- SPR - Save a picture to a raw binary file
-
- Many of the commands use an argument called PICTURE this agument can be
- any loaded patch,sprite or graphic object from
-
- Some commands do take a while to exectue, be patient. It does take time to
- copy all of the patches from the gallery to a WAD. The longest wait is
- if you copy then entire patch/sprite list to a WAD then delete the WAD as
- WACKER must rebuild the patch list from the original wad.
-
-
- Command Detail
- --------------
-
-
- BATCH <filename> [STEP]
-
- Take command line input from the given filename, the file should be
- a text file with identical format to that of the keyboard command
- line. The FILE command can be used to generate batch files that may
- then be edited and used. If the optional STEP parameter is given
- then the user will be promped to run each command line and given
- then option of exiting batch mode.
-
- ---------------------------------------------------------------------
-
- CREATE <handle|TEXTURE> [name] [width] [height]
-
- Create will allow blank wad objects to be created such as an empty
- WAD, an empty entry or a new texture.
-
- CREATE <handle> - Make a new empty WAD
- CREATE <handle> <object> - Make a new wad object (i.e PNAMES)
- CREATE TEXTURE <name> <width> <height> - Make a new texture
-
- ---------------------------------------------------------------------
-
- COPY [handle] <obj> <handle|PATCHES|SPRITES> [obj]
-
- Copy is used to copy individual objects between WAD files or within
- a WAD file. If the final agument is ommited then the object is
- copied with the same name.
- Additionally copy may be used to copy ANY graphic object into
- the picture gallery. This is done using the Pseduo handles 'PATCHES',
- or SPRITES for example:
-
- COPY <handle> <object> PATCHES [object]
-
- Any picture object that is copied in the picture gallery can then
- be used within a texture. Yes this does mean you can put the DooM
- logo in a texture or a Spider demon.
-
- Copy can also be used to copy any picture object to a WAD, this can be
- done by omitting the handle, then 1st argument must the the name of a
- picture in one of the galleries. i.e
-
- COPY AG128_1 MYWAD
-
- Will copy the AG128_1 patch into a WAD called MYWAD which must already
- exist. The 1st argument can be PATCH|SPRITE|GRAPHIC. The pseudo handles
- may still be used for this type of copy to clone a patch.
-
- ---------------------------------------------------------------------
-
- DEL <handle|picture|texture> [object|ExMx|patch|floor|sprites|FORCE] [obj]
-
- This command can be used to delete almost any loaded object or group
- of objects.
-
- DEL <handle> - Delete handle & contents
- DEL <handle> <ExMx> - Deletes ExMx level from handle
- DEL <handle> <ExMx> <object> - Delete object of level
- DEL <handle> <object> - Delete object of handle
- DEL <object> - Delete a patch|texture
-
- If no handle is given then the object MUST be a patch or a texture.
- The patch or texture will be deleted from the texture list but NOT
- from the PWAD it was loaded into. If you wish to delete patch AND
- wad entry then used DEL <handle> <object>. When a patch is deleted
- WACKER will search ALL other loaded PWADS for a replacement and use
- that to replace the deleted patch, if no replacement is found then
- that patch is erased from all texture entries, if any particular
- texture has no patches left in its description then it will also be
- deleted. When only the <handle> is used then the entire PWAD is
- erased. The PATCHES, SPRITES, GRAPHICS and TEXTURES pseudo handles
- can be used in the delete, remember that deleting any picture may also
- delete textures by association. If you delete the entire patch list
- you WILL lose all of the textures. BUT if you load a PWAD with its own
- patches and you then delete all of the doom patches you will just be
- left with the textures that can be built from the new PWAD.
-
- When you attempt to delete a single object from a picture gallery
- WACKER will attempt to find a replacement for that picture with the
- same name from a different WAD that is loaded into memory. For example
- if you patch AG128_1 from a PWAD and then type DEL AG128_1 the original
- DOOM AG128_1 will be put back into the gallery, type DEL AG128_1 again
- and the new AG128_1 will re-appear. If you wish to delete a picture
- without the auto-replace feature then do DEL AG128_1 FORCE and WACKER
- will not attempt to find a replacement. The FORCE agrument is only valid
- for PICTURE deletions. An alternate way is to delete the picture from
- the WAD rather than the gallery as the galleries hold separate lists
- from the WADS.
-
- For example:
-
- DEL PATCHES - Delete ALL patches from the patch
- gallery. But not from wads
- DEL TEXUTRES - Delete ALL textures from the texture
- gallery.
- DEL WIBBLE - Deletes a loaded WAD called WIBBLE
-
- DEL WIBBLE PATCHES - Deletes all patch entries from WIBBLE
- that lie between P_START & P_END.
-
- DEL WIBBLE FLOORS - Deletes all floor entries from WIBBLE
- that lie between F_START & F_END.
-
- DEL WIBBLE SPRITES - Deletes all sprite entries from WIBBLE
- that lie between S_START & S_END.
-
- DEL WIBBLE E1M1 - Delete level E1M1 from wibble
- DEL WIBBLE ENDOOM - Delete the ENDOOM object from WIBBLE
- DEL AASTINKY - Delete the AASTINKY texture from the
- texture gallery.
- DEL AG128_1 [FORCE] - Delete the AG128_1 patch from the
- patch gallery.
-
- ---------------------------------------------------------------------
-
- DISP <picture|texture|P|T> [picture|texture]
-
- This command will force the picture or texture galleries to display a
- particular image. If a partial name is given then DISP will match
- it against the gallery contents. The P & T operators force disp to
- only match P-Pictures or T-textures
-
- DISP T STAR - Would display the 1st STARTAN texture
- DISP A - Texture and Patch windows display 1st entry
- begining with 'A'
- DISP AG128_1 - Display the AG128_1 patch
-
- ---------------------------------------------------------------------
-
- FILE <filename|OFF|CLOSE>
-
- Enable/Disable command line logging to a text file. This command
- is handy for saving repetative functions and using the BATCH
- command to automate things. If a filename is given then the file
- is opened, if a file is already opened then the old file is closed.
- If you wish to stop logging then use FILE CLOSE.
-
- ---------------------------------------------------------------------
-
- HELP
-
- This will display a list of commands available within the command
- window.
-
- ---------------------------------------------------------------------
-
- LDW <handle> <filename>
-
- Load a WAD into memory, the WAD can be an IWAD or a PWAD. A handle
- name must be given. Do not choose a handle that is the same as a
- patch or texture name or this may cause some commands to function
- strangely.
-
- The following handle names are reserved, do not used them:
-
- DOOM,PATCHES,TEXTURES,SPRITES,FLOORS
-
- You have been warned, WACKER will not stop you but you may find
- that a lot of commands will fail to operate with these names.
-
- ---------------------------------------------------------------------
-
- LIST <handle|picture|texture|PATCHES|SPRITES|GRAPHICS|TEXTURES>
- [start ojbect] [filename]
-
- Dump information to screen or file about an object. This command
- has several modes of operation. If you wish to direct the
- output to a file then give a filename at the end. If wacker is
- unsure if the agrument is a start object or a file it will ask.
-
- If a handle is given then the directory of the WAD is printed
- to the screen/file. If a 2nd argument is given then wacker will
- attempt to use this as a search key, and will start listing the
- WAD from the 1st match of the search key. This is handy for listing
- large WADs, for example:
-
- LIST DOOM P_START - List patches within doom (no Xref)
-
- It would be better to use the following to list the patches as
- it will also generate a cross-reference to the used textures.
-
- LIST PATCHES
-
- Similarly LIST TEXTURES will display alll loaded texures and a
- cross reference to the patches contained in each texture.
-
- If just the name of a picture or texture is given then information is
- displayed about that object. For patches the command will also
- display a list of textures that the picture is used in. For textures
- it will display the list of pictures for that texture.
-
- ---------------------------------------------------------------------
-
- LOB <handle> <object> [object] <filename>
-
- Load an DooM picture format object from a windows BMP format file.
- The object name can be an existing or new object. If the object
- exists then it is modified otherwise it will be created. If the
- second object argument is given then and a new object is created
- then it will be placed after the object. This is handy for loading
- new sprites into an IWAD between the S_START/END markers. If no
- second argument is given the object is tagged onto the end of
- the WAD.
-
- You can use this to replace sprites/misc graphics/patches.
-
- (See notes about importing external bitmaps)
-
- ---------------------------------------------------------------------
-
- LOR <handle> <object> [object] <filename>
-
- Load an DooM picture format object from a Raw binary format file.
- The object name can be an existing or new object. If the object
- exists then it is modified otherwise it will be created. If the
- second object argument is given then and a new object is created
- then it will be placed after the object. This is handy for loading
- new sprites into an IWAD between the S_START/END markers. If no
- second argument is given the object is tagged onto the end of
- the WAD.
-
- You can use this to replace anything.
-
- ---------------------------------------------------------------------
-
- LPB <handle> <patch> <filename> [PATCH|SPRITE]
-
- Load a new picture into a WAD file from a windows BMP format
- file. If the object exists then it replaces the object otherwise
- a NEW picture will be created. Existing pictures will be replaced
- in the relevant list but any new object will always be created in
- the patch list unless the optional PATCH|SPRITE] argument is used
- to explicitly specify the list to load the new object into.
-
- (See notes about importing external bitmaps)
-
- ---------------------------------------------------------------------
-
- LPR <handle> <patch> <filename> [PATCH|SPRITE]
-
- Load a new picture into a WAD file from a raw binary format
- file. If the object exists then it replaces the object otherwise
- a NEW patch will be created by default unless the optional PATCH|
- SPRITE] argument is used to explicitly specify the list to load
- the new object into.
-
- ---------------------------------------------------------------------
-
- LTB <handle> <texture name> <filename> [width] [height]
-
- This command automates the process of creating textures. Given
- a BMP file it will load the file into memory as a patch called
- <texture name> and will then create a NEW texture with the same
- name as the patch. The patch is always positioned at the top
- left corner of the new texture. If height and with are not given
- then the texture will be created the same size as the patch. Read
- the creating new textures section for a warning on texture sizes
- i.e make your bitmap a binary power of 2 in width or set the height
- and width manually.
-
- The handle must be a loaded WAD as the new patch must be associated
- with the wad.
-
- The new patch that is created is built into the PATCH list unless
- is is an already existing name then it will be replaced with the
- new bitmap for the texture. Be careful with your naming.
-
- (See notes about importing external bitmaps)
-
- ---------------------------------------------------------------------
-
- MCOPY <handle|PATCHES|SPRITES> [start_obj] [end_obj]
- <handle|PATCHES|SPRITES>
-
- Copy is used to copy multiple objects between WAD files or between
- a WAD and a gallery. If the copy is WAD->WAD then all ojbects from
- and including <start_obj> to <end_obj> are copied. If the destination
- is a gallery then only non-zero picture format objects will be copied.
-
- You can use this to copy all of the active patches to a WAD for saving,
- when copied in this way the patches will be placed between the relevant
- START/END markers, these will be created in the WAD if they dont exist.
-
- If the start and end objects are omitted then the entire WAD is copied
- across to the destination handle.
-
- ---------------------------------------------------------------------
-
- MOVE <handle> <entry> <dest_entry>
-
- This will move an object within a WAD file, you can use it to
- reposition objects. It will move the entry to be after dest_entry
- in the directory list.
-
- ---------------------------------------------------------------------
-
- SDW <handle> <filename> [PWAD|IWAD]
-
- Save a memory resident WAD file to either a PWAD or an IWAD, if the
- IWAD/PWAD argument is missing the file is saved as a PWAD by default.
-
- DO NOT save you pwad to any file name that is already open/loaded.
- When WACKER loads a PWAD with LDW it leaves the file handles
- open to make access faster. The last time I tried it it junked
- loaded file.
-
- ---------------------------------------------------------------------
-
- SOB <handle> <object> <filename>
-
- This command will attempt to save the given object as a windows BMP
- format file. The object name given must be a DOOM picture format
- object. WACKER attempts to verify the object by checking the header
- of the object as if it were a picture and verifying that the header
- parameters are within some set limits.
-
- ---------------------------------------------------------------------
-
- SOR <handle> <object> <filename>
-
- Save an object from within a WAD to a binary file in raw binary
- format file.
-
- ---------------------------------------------------------------------
-
- SPB <picture> <filename>
-
- Save a entry from the picture gallery to a windows format BMP file,
- the handle is not needed as this is provided by the association
- of picture gallery.
-
- ---------------------------------------------------------------------
-
- SPR <picture> <filename>
-
- Save a entry from the picture gallery to a raw binary file,
- the handle is not needed as this is provided by the association
- of picture list.
-
- ---------------------------------------------------------------------
-
- Notes about importation of external bitmaps in GIF/BMP files:
-
- The 2nd object parameter can be used to force WACKER to store a
- resource at a particular point in the PWAD i.e within S_START/END.
- If the operation replaces an object then this parameter is ignored
-
- When WACKER imports a graphic file it will convert the palette of
- your file to an equivalent colour on the doom palette. It is not
- always possible for WACKER to exactly match the colours, it will
- do the best job it can and find the closest match. If you wish to
- have transparent colours in your patches then use the following
- colour value:
-
- Red=0 Green=255 Blue=255
-
- Once imported into wacker the cyan transparent regions will vanish
- and be converted to transparent areas. I have found that corel
- draw seems to do some gamma correction on images and so everything
- comes out a little darker.
-
- ---------------------------------------------------------------------
- The END